Object
# File racc/state.rb, line 851
def each_reduce(&block)
@reduce.each(&block)
end
# File racc/state.rb, line 870
def each_shift(&block)
@shift.each(&block)
end
# File racc/state.rb, line 823
def init
@grammar.each do |rule|
@reduce.push Reduce.new(rule)
end
@statetable.each do |state|
@shift.push Shift.new(state)
end
@accept = Accept.new
@error = Error.new
end
# File racc/state.rb, line 838
def reduce(i)
case i
when Rule then i = i.ident
when Integer then ;
else
raise "racc: fatal: wrong class #{i.class} for reduce"
end
r = @reduce[i] or raise "racc: fatal: reduce action #{i.inspect} not exist"
r.incref
r
end